Skip to content

chore: pin geofence native SDK versions and example test wiring#609

Open
mrehan27 wants to merge 2 commits into
feature/geofence-on-devicefrom
mbl-1785-geofence-final
Open

chore: pin geofence native SDK versions and example test wiring#609
mrehan27 wants to merge 2 commits into
feature/geofence-on-devicefrom
mbl-1785-geofence-final

Conversation

@mrehan27

@mrehan27 mrehan27 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Wires the geofence feature up to the native SDK versions that will ship it, and makes the example app buildable/testable against the pre-release native builds in the meantime.

Targets feature/geofence-on-device, not main. Nothing is being released here. This keeps the geofence integration green and testable on the feature branch until the native SDKs are published.

⚠️ Read this first — two commits, one is temporary

This PR is intentionally two commits that must not be squashed:

Commit 1 — the real change we keep. Pins the native SDK versions that will contain geofence:

  • android/gradle.properties: cioSDKVersionAndroid 4.18.2 → 4.19.0
  • package.json: cioNativeiOSSdkVersion = 4.5.3 → = 4.6.0

These versions aren't published yet, which is why Commit 2 exists.

Commit 2 — temporary scaffolding so CI and reviewers can build/test the example against pre-release native code. It only touches the example app + the iOS version pin:

  • example/android/build.gradle: snapshot Maven repo s01.oss.sonatype.orgcentral.sonatype.com/repository/maven-snapshots (where the feature builds are published)
  • example/android/gradle.properties: example uses cioSDKVersionAndroid=feature-geofence-on-device-SNAPSHOT
  • example/ios/Podfile: load the geofence-aware CocoaPods override from the feature branch, build the app target against the customerio-ios feature/geofence-on-device branch, and add an explicit CustomerIO/LocationGeofence git pod (the umbrella subspec isn't on the released trunk spec yet)
  • package.json: temporarily pins cioNativeiOSSdkVersion back to = 4.5.3 (the feature branch's podspec version) so CocoaPods can resolve — this deliberately undoes Commit 1's iOS bump for testing only

Reverting Commit 2 restores Commit 1's production state exactly (package.json returns to = 4.6.0).

Note for reviewers

Commit 2 is temporary test-only scaffolding and is reverted before this PR is merged. Please don't flag its changes as defects — they never reach the feature branch.

Verified locally

  • Android: example builds against the feature-branch snapshot (debug APK produced).
  • iOS: example app target builds against the feature branch (geofence pods resolve and compile).

Merge plan

Commit 2 exists only so CI can build and anyone can test the CI builds while this PR is open. Before this PR is merged, Commit 2 is reverted, so only Commit 1 lands on feature/geofence-on-device — Commit 2 never reaches the feature branch.

Ticket

MBL-1785 — React Native: add geofencing support

PR stack

  1. chore: add geofence module base #605 — geofence module base
  2. chore: register geofence module and treat geofence as implying location #606 — register geofence module + geofence implies Location
  3. chore: add iOS allowBackgroundDelivery config for geofence #607 — iOS allowBackgroundDelivery config
  4. chore: enable geofence in the example app #608 — enable geofence in the example app
  5. 👉 This PR — native SDK version pins + temporary feature-build wiring

🤖 Generated with Claude Code


Note

Low Risk
Changes are build/version pins and example-only temporary repo and Pod wiring; no runtime library logic changes in the diff shown.

Overview
Bumps the library default Android Customer.io native SDK from 4.18.2 → 4.19.0 in android/gradle.properties so the React Native package targets the release that will ship geofence support.

The example app is temporarily wired to pre-release native builds so CI and local testing can exercise geofence before those SDKs are published: Android uses feature-geofence-on-device-SNAPSHOT and points snapshot resolution at Sonatype central (maven-snapshots); iOS loads the geofence CocoaPods override from feature/geofence-on-device, installs the non-production iOS SDK from that branch, and adds an explicit CustomerIO/LocationGeofence git pod because the umbrella subspec is not on the released trunk spec yet. Comments in the example mark this scaffolding as revert before merge so only the version pin lands on the feature branch.

Reviewed by Cursor Bugbot for commit e83e720. Bugbot is set up for automated code reviews on this repo. Configure here.

@mrehan27 mrehan27 requested a review from a team as a code owner June 30, 2026 21:54
@mrehan27 mrehan27 self-assigned this Jun 30, 2026
@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Sample app builds 📱

Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.


  • Android APN: 609.2.0 (29718134)
  • iOS FCM: 609.2.0 (29718134)
  • iOS APN: 609.2.0 (29718134)

mrehan27 and others added 2 commits July 3, 2026 18:50
iOS 4.6.0, Android 4.19.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Point the example at pre-release native builds so geofence can be tested
before the native SDKs are released. Revert this commit once they ship.

- Android: example uses the feature-branch snapshot + the central snapshot repo.
- iOS: load the geofence-aware CocoaPods override from the feature branch,
  build against the customerio-ios feature branch, and pin the native iOS SDK
  back to 4.5.3 (the branch version) so pods resolve until 4.6.0 is released.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mrehan27 mrehan27 force-pushed the mbl-1785-geofence-final branch from a3ee796 to e83e720 Compare July 3, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant